常见问题 内容 常见表的系统默认访问级别 如何实施数据访问控制 如何集中管理主数据 如何管理产品信息 如何隔离组织业务数据 如何保护业务伙伴资料 如何隔离业务员的个人数据 如何限制报表使用 财务敏感信息 常见表的系统默认访问级别 产品:Client+Organization 供应商:Client+Organization 订单:Organization 如何实施数据访问控制 0. 规划好实体和组织模型,以区分数据访问的界限。 1. 定义实体内所有数据的权限访问级别(按业务数据、主数据、实体配置、系统配置四类区分) 2. 配置表的访问控制级别(按定义1,审计现有表格的表访问级别是否正确) 3. 分配正确的角色到用户(按定义1,新建4类访问级别的角色,以分配给用户使用) 4. 根据数据访问的特殊要求,检查相关数据的显示方式(窗口、流程、窗体、信息、状态栏、提示面板) 5. 根据不同的显示方式,配置或审计数据的过滤规则。(特殊窗体不好过滤字段!!!) 6. 如有必要,设置角色的记录级访问控制权限。 如何集中管理主数据 权限设置的第一步:划分主数据和业务数据 主数据:各数据主管组织管理,其它组织使用。数据变动需经过工作流办理。 主数据:产品、用户、业务伙伴、组织、科目 常见需求:数据管理,统一编码,属性管理,权限管理 ID技术点:字段级控制,表访问级别,用户访问级别,窗口自定义,工作流,信息窗口 如何管理产品信息 方案1:产品属于 \*组织, 如何隔离组织业务数据 1. 组织是公司类型 公司类型的组织,内部数据肯定是需要隔离的,以不共享业务数据也例: 需要共享的数据表:实体+组织 不需要共享的数据表:组织 角色的组织权限按照实际访问规则进行配置。 如果2个组织需要共享客户资料,则单独对组织的角色添加表权限,后续详细讨论。 2. 组织是部门类型 组织字段数据过滤要求数据的CRUD都必须在登录组织完成。 使用系统环境变量@#AD_ORG_ID@,这个默认值可以放在TAB-field字段来覆盖Table-column的定义。这也提供了不同TAB在同一个数据源上的不同操作方式。 如何保护业务伙伴资料 如何隔离业务员的个人数据 如何限制报表使用 财务敏感信息 问题:通常库管员是只需核对数量,无需知道物品价格的。在id的入库操作过程中,库管员可以根据采购订单明细行的缩写上看到金额,如何设置避免此信息外露? 方案: 1. 限制角色对相关金额的访问权限。或者 2. 修改订单明细行所在表的字段Identifier属性,默认:id_行号_行总额,改为:id_行号_产品_数量。 剩下的createfrom表单(Form)中也还含有金额信息? 方案: CreateFrom.java 99行,去掉 o.GrandTotal 字段。<注:禁止字段访问不行>